There are several known technologies for online storing and sharing of data files. For example a service may provide server capacity, where registered users can transfer data files between their personal/work computer device and the server via internet for backup of data files, for sharing data files, for collaboration on data files, for synchronisation of data files etc. Some service providers use encryption methods when transferring files between the server and the computer device of the user.
The encrypted transfer of a file between the computer device and the server often uses a protocol like the Hypertext Transfer Protocol Secure (HTTPS) to encrypt the transfer of a data file from the computer device to the server. Hence, the server receives an encrypted file, but when received, the data file is decrypted and the data file is stored unencrypted. A person with administration privileges on the server will easily have access to the data file.
This type of technology has several disadvantages. First of all, many service providers require that an application has to be downloaded and installed on each computer device used to connect to the servers. This may be cumbersome; in addition, the user may not have privileges on the computer device to install applications.
Some service providers also offer a system with the possibility of encrypting the data file before transferring the file to the server, and storing of the data file encrypted on the server. In order to share the data file, the encryption key must be stored together with the encrypted data file. Again, a person with administrator privileges may then access the file. Alternatively, no encryption key is stored on the server; however, no sharing of the data file is then possible.
One object of the present invention is to provide a method and system for secure storing of a data file via a computer communication network, which can be used even if the user does not have administrator privileges on his computer and without the need for installation of a separate application. Moreover, one object is to provide that the data files are kept continuously encrypted from the time when the data file is leaving the computer device of the user and to the time when the same or another computer device is receiving the data file from the server. In this way it is avoided that a person with administration privileges has access or can get access to the unencrypted data file. Moreover, if a hacker breaks into the server, he/she will not get access to the data files as well.
Another object is to provide a method and system where the user can give access to the data file to other users.